<!DOCTYPE html>
<html lang="zh-CN">
    <head>
        <meta charset="UTF-8" />
        <title>06_面向对象-原型继承-方法继承2</title>
    </head>
    <body>
        <script>
            // （1）在各自的构造函数中定义方法
            // function Teddy(){
            //     this.run = function(){
            //         console.log(11111);
            //     }
            // }

            // function Koki(){
            //     this.run = function(){
            //         console.log(11111);
            //     }
            // }


            // (2) 各自原型对象上绑定方法
            // function Teddy(){
            // }

            // Teddy.prototype.run = function(){
            //     console.log(11111);
            // }

            // function Koki(){
            // }

            // Koki.prototype.run = function(){
            //     console.log(11111);
            // }

            // （3）在Object上绑定run方法
            // function Teddy(){
            // }

            // function Koki(){
            // }

            // Object.prototype.run = function(){
            //     console.log(111);
            // }


            // （4）在他们共有的类别上添加方法
            function Teddy(){
            }

            Teddy.prototype = new Dog();
            Teddy.prototype.constructor = Teddy;

            function Koki(){
            }

            Koki.prototype = new Dog();
            Koki.prototype.constructor = Koki;

            function Dog(){

            }

            Dog.prototype.run = function(){
                console.log(1111);
            }


            var tt = new Teddy();
            tt.run();
            var kk = new Koki();
            kk.run();


            console.log(tt.run == kk.run);



        </script>
    </body>
</html>